<template>
  <div class="page_root" :key="queryUpdateFlag" data-page-name="平台及市场项目新建、编辑任务审批详情页" data-page-identification="t_0qmx2r0fpk">
    <a-spin :spinning="pageLoading.loading" :tip="pageLoading.tip">
      <!-- begin vid_a66h2jgxek 容器_ak0v3kpvfq -->
      <al-box class="vid_a66h2jgxek">
        <!-- begin vid_oupkm1qcq4 布局容器_gkoiaw61if -->
        <a-row class="vid_oupkm1qcq4" :slots="'24'">
          <a-col :span="24">
            <!-- begin vid_qda7xszz78 容器_pa5tx52lro -->
            <al-box class="vid_qda7xszz78">
              <!-- begin vid_sfilmvv65x 审批详情 -->
              <span class="vid_sfilmvv65x"> 审批详情 </span>
              <!-- end vid_sfilmvv65x 审批详情 -->
            </al-box>
            <!-- end vid_qda7xszz78 容器_pa5tx52lro -->
            <!-- begin vid_sdigc5dmak 布局容器_egydrzc47r -->
            <a-row class="vid_sdigc5dmak" :slots="'3:21:3:5:3:5:3:5:3:5:3:5:3:5:3:5:3:5:3:5:3:5:3:5:3:5:3:5:3:5:3:5:3:5:3:5:3:5:3:21:3:21'">
              <a-col :span="3">
                <!-- begin vid_0jjjn9opn0 容器_xxsm8xw85u -->
                <al-box class="vid_0jjjn9opn0">
                  <!-- begin vid_hte17hl8ou 简单文本_zds168dp53 -->
                  <span class="vid_hte17hl8ou"> 审批类型 </span>
                  <!-- end vid_hte17hl8ou 简单文本_zds168dp53 -->
                </al-box>
                <!-- end vid_0jjjn9opn0 容器_xxsm8xw85u -->
              </a-col>
              <a-col :span="21">
                <!-- begin vid_lo5a0q3ej2 容器_tdskiw8d4d -->
                <al-box class="vid_lo5a0q3ej2">
                  <!-- begin vid_8ce19j1ydg 提交附件 -->
                  <span class="vid_8ce19j1ydg">
                    {{ renderStringInTemplate(vid_8ce19j1ydg_props.rt_text) }}
                  </span>
                  <!-- end vid_8ce19j1ydg 提交附件 -->
                </al-box>
                <!-- end vid_lo5a0q3ej2 容器_tdskiw8d4d -->
              </a-col>
              <a-col :span="3">
                <!-- begin vid_zf84t1z0ou 容器_m5im0xoasu -->
                <al-box class="vid_zf84t1z0ou">
                  <!-- begin vid_agftkz8uz8 项目名称 -->
                  <span class="vid_agftkz8uz8"> 项目名称 </span>
                  <!-- end vid_agftkz8uz8 项目名称 -->
                </al-box>
                <!-- end vid_zf84t1z0ou 容器_m5im0xoasu -->
              </a-col>
              <a-col :span="5">
                <!-- begin vid_tv8o9xz8w7 容器_skzh8d3rxo -->
                <al-box class="vid_tv8o9xz8w7">
                  <!-- begin vid_8o2vce0kw8 这里是项目名称 -->
                  <span class="vid_8o2vce0kw8">
                    {{ renderStringInTemplate(vid_8o2vce0kw8_props.rt_text) }}
                  </span>
                  <!-- end vid_8o2vce0kw8 这里是项目名称 -->
                </al-box>
                <!-- end vid_tv8o9xz8w7 容器_skzh8d3rxo -->
              </a-col>
              <a-col :span="3">
                <!-- begin vid_1js5v2r9t0 容器_ih3nvhpgc5 -->
                <al-box class="vid_1js5v2r9t0">
                  <!-- begin vid_jysgpgn70j 项目阶段 -->
                  <span class="vid_jysgpgn70j"> 项目阶段 </span>
                  <!-- end vid_jysgpgn70j 项目阶段 -->
                </al-box>
                <!-- end vid_1js5v2r9t0 容器_ih3nvhpgc5 -->
              </a-col>
              <a-col :span="5">
                <!-- begin vid_cjcrgsebb6 容器_b04l5bp23f -->
                <al-box class="vid_cjcrgsebb6">
                  <!-- begin vid_io6lji4vq4 这里是项目阶段 -->
                  <span class="vid_io6lji4vq4">
                    {{ renderStringInTemplate(vid_io6lji4vq4_props.rt_text) }}
                  </span>
                  <!-- end vid_io6lji4vq4 这里是项目阶段 -->
                </al-box>
                <!-- end vid_cjcrgsebb6 容器_b04l5bp23f -->
              </a-col>
              <a-col :span="3">
                <!-- begin vid_e2okkmgl3t 容器_39jnq69sni -->
                <al-box class="vid_e2okkmgl3t">
                  <!-- begin vid_1v0502ako2 任务名称 -->
                  <span class="vid_1v0502ako2"> 任务名称 </span>
                  <!-- end vid_1v0502ako2 任务名称 -->
                </al-box>
                <!-- end vid_e2okkmgl3t 容器_39jnq69sni -->
              </a-col>
              <a-col :span="5">
                <!-- begin vid_uh026olt73 容器_9waigd2pyu -->
                <al-box class="vid_uh026olt73">
                  <!-- begin vid_b6yjigkl3q 这里是任务名称 -->
                  <span class="vid_b6yjigkl3q">
                    {{ renderStringInTemplate(vid_b6yjigkl3q_props.rt_text) }}
                  </span>
                  <!-- end vid_b6yjigkl3q 这里是任务名称 -->
                </al-box>
                <!-- end vid_uh026olt73 容器_9waigd2pyu -->
              </a-col>
              <a-col :span="3">
                <!-- begin vid_0cbieojnyv 容器_y78o9c24bi -->
                <al-box class="vid_0cbieojnyv">
                  <!-- begin vid_w1evp6ephc 任务状态 -->
                  <span class="vid_w1evp6ephc"> 任务状态 </span>
                  <!-- end vid_w1evp6ephc 任务状态 -->
                </al-box>
                <!-- end vid_0cbieojnyv 容器_y78o9c24bi -->
              </a-col>
              <a-col :span="5">
                <!-- begin vid_sc7a8r4209 容器_dgavcrws3b -->
                <al-box class="vid_sc7a8r4209">
                  <!-- begin vid_qp4k4d9gl3 未启动 -->
                  <span class="vid_qp4k4d9gl3">
                    {{ renderStringInTemplate(vid_qp4k4d9gl3_props.rt_text) }}
                  </span>
                  <!-- end vid_qp4k4d9gl3 未启动 -->
                </al-box>
                <!-- end vid_sc7a8r4209 容器_dgavcrws3b -->
              </a-col>
              <a-col :span="3">
                <!-- begin vid_1bxdl9ja36 容器_7frrcnufci -->
                <al-box class="vid_1bxdl9ja36">
                  <!-- begin vid_atnq6bu02c 优先级 -->
                  <span class="vid_atnq6bu02c"> 优先级 </span>
                  <!-- end vid_atnq6bu02c 优先级 -->
                </al-box>
                <!-- end vid_1bxdl9ja36 容器_7frrcnufci -->
              </a-col>
              <a-col :span="5">
                <!-- begin vid_fa1rlwklge 容器_yvkv8kuygk -->
                <al-box class="vid_fa1rlwklge">
                  <!-- begin vid_sncshfitvt 高 -->
                  <span class="vid_sncshfitvt">
                    {{ renderStringInTemplate(vid_sncshfitvt_props.rt_text) }}
                  </span>
                  <!-- end vid_sncshfitvt 高 -->
                </al-box>
                <!-- end vid_fa1rlwklge 容器_yvkv8kuygk -->
              </a-col>
              <a-col :span="3">
                <!-- begin vid_xh3mjnc6ma 容器_5zyounpduy -->
                <al-box class="vid_xh3mjnc6ma">
                  <!-- begin vid_p9ht2tw5vc 任务类型 -->
                  <span class="vid_p9ht2tw5vc"> 任务类型 </span>
                  <!-- end vid_p9ht2tw5vc 任务类型 -->
                </al-box>
                <!-- end vid_xh3mjnc6ma 容器_5zyounpduy -->
              </a-col>
              <a-col :span="5">
                <!-- begin vid_hqn5xh09sk 容器_32t8roxirg -->
                <al-box class="vid_hqn5xh09sk">
                  <!-- begin vid_hp95j8xrxn 文本 -->
                  <span class="vid_hp95j8xrxn">
                    {{ renderStringInTemplate(vid_hp95j8xrxn_props.rt_text) }}
                  </span>
                  <!-- end vid_hp95j8xrxn 文本 -->
                </al-box>
                <!-- end vid_hqn5xh09sk 容器_32t8roxirg -->
              </a-col>
              <a-col :span="3">
                <!-- begin vid_8r3seec86v 容器_i2dqob8c76 -->
                <al-box class="vid_8r3seec86v">
                  <!-- begin vid_w0xdzipnk7 计划工时 -->
                  <span class="vid_w0xdzipnk7"> 计划工时 </span>
                  <!-- end vid_w0xdzipnk7 计划工时 -->
                </al-box>
                <!-- end vid_8r3seec86v 容器_i2dqob8c76 -->
              </a-col>
              <a-col :span="5">
                <!-- begin vid_f42tcbiz7z 容器_w1n7p2bhfh -->
                <al-box class="vid_f42tcbiz7z">
                  <!-- begin vid_p0hyrkkmw7 26 -->
                  <span class="vid_p0hyrkkmw7">
                    {{ renderStringInTemplate(vid_p0hyrkkmw7_props.rt_text) }}
                  </span>
                  <!-- end vid_p0hyrkkmw7 26 -->
                </al-box>
                <!-- end vid_f42tcbiz7z 容器_w1n7p2bhfh -->
              </a-col>
              <a-col :span="3">
                <!-- begin vid_42rm5m8dvp 容器_bbql4quzcf -->
                <al-box class="vid_42rm5m8dvp">
                  <!-- begin vid_tux0dci8di 实际工时 -->
                  <span class="vid_tux0dci8di"> 实际工时 </span>
                  <!-- end vid_tux0dci8di 实际工时 -->
                </al-box>
                <!-- end vid_42rm5m8dvp 容器_bbql4quzcf -->
              </a-col>
              <a-col :span="5">
                <!-- begin vid_q7bhples4k 容器_ktbysotfdi -->
                <al-box class="vid_q7bhples4k">
                  <!-- begin vid_urjvtoj54u 28 -->
                  <span class="vid_urjvtoj54u">
                    {{ renderStringInTemplate(vid_urjvtoj54u_props.rt_text) }}
                  </span>
                  <!-- end vid_urjvtoj54u 28 -->
                </al-box>
                <!-- end vid_q7bhples4k 容器_ktbysotfdi -->
              </a-col>
              <a-col :span="3">
                <!-- begin vid_7tn99inu2t 容器_lpy8p2sn76 -->
                <al-box class="vid_7tn99inu2t">
                  <!-- begin vid_7nubv3p02k 工时投入状态 -->
                  <span class="vid_7nubv3p02k"> 工时投入状态 </span>
                  <!-- end vid_7nubv3p02k 工时投入状态 -->
                </al-box>
                <!-- end vid_7tn99inu2t 容器_lpy8p2sn76 -->
              </a-col>
              <a-col :span="5">
                <!-- begin vid_uab1om86ks 容器_em17skr8io -->
                <al-box class="vid_uab1om86ks">
                  <!-- begin vid_sv3wlynl7n 超出 -->
                  <span class="vid_sv3wlynl7n">
                    {{ renderStringInTemplate(vid_sv3wlynl7n_props.rt_text) }}
                  </span>
                  <!-- end vid_sv3wlynl7n 超出 -->
                </al-box>
                <!-- end vid_uab1om86ks 容器_em17skr8io -->
              </a-col>
              <a-col :span="3">
                <!-- begin vid_nmu3lxdncr 容器_pfjpwybtqc -->
                <al-box class="vid_nmu3lxdncr">
                  <!-- begin vid_sakznfmij6 任务负责人 -->
                  <span class="vid_sakznfmij6"> 任务负责人 </span>
                  <!-- end vid_sakznfmij6 任务负责人 -->
                </al-box>
                <!-- end vid_nmu3lxdncr 容器_pfjpwybtqc -->
              </a-col>
              <a-col :span="5">
                <!-- begin vid_k6tmrw6knj 容器_l5vx3ihujn -->
                <al-box class="vid_k6tmrw6knj">
                  <!-- begin vid_pazokhx20e 张珊珊 -->
                  <span class="vid_pazokhx20e">
                    {{ renderStringInTemplate(vid_pazokhx20e_props.rt_text) }}
                  </span>
                  <!-- end vid_pazokhx20e 张珊珊 -->
                </al-box>
                <!-- end vid_k6tmrw6knj 容器_l5vx3ihujn -->
              </a-col>
              <a-col :span="3">
                <!-- begin vid_vxquccvrfm 容器_5t80h26xr3 -->
                <al-box class="vid_vxquccvrfm">
                  <!-- begin vid_wmrl07fc9t 审核员 -->
                  <span class="vid_wmrl07fc9t"> 审核员 </span>
                  <!-- end vid_wmrl07fc9t 审核员 -->
                </al-box>
                <!-- end vid_vxquccvrfm 容器_5t80h26xr3 -->
              </a-col>
              <a-col :span="5">
                <!-- begin vid_on8s9oqwha 容器_irax64cfc9 -->
                <al-box class="vid_on8s9oqwha">
                  <!-- begin vid_whsekrxwsy 张珊珊 -->
                  <span class="vid_whsekrxwsy">
                    {{ renderStringInTemplate(vid_whsekrxwsy_props.rt_text) }}
                  </span>
                  <!-- end vid_whsekrxwsy 张珊珊 -->
                </al-box>
                <!-- end vid_on8s9oqwha 容器_irax64cfc9 -->
              </a-col>
              <a-col :span="3">
                <!-- begin vid_tsi57xp757 容器_wyywu800ag -->
                <al-box class="vid_tsi57xp757">
                  <!-- begin vid_xfqmdcmgjn 任务执行人 -->
                  <span class="vid_xfqmdcmgjn"> 任务执行人 </span>
                  <!-- end vid_xfqmdcmgjn 任务执行人 -->
                </al-box>
                <!-- end vid_tsi57xp757 容器_wyywu800ag -->
              </a-col>
              <a-col :span="5">
                <!-- begin vid_butebueazf 容器_0ozlxcs1pe -->
                <al-box class="vid_butebueazf">
                  <!-- begin vid_vonhq9nbvm 好多人 -->
                  <span class="vid_vonhq9nbvm">
                    {{ renderStringInTemplate(vid_vonhq9nbvm_props.rt_text) }}
                  </span>
                  <!-- end vid_vonhq9nbvm 好多人 -->
                </al-box>
                <!-- end vid_butebueazf 容器_0ozlxcs1pe -->
              </a-col>
              <a-col :span="3">
                <!-- begin vid_ql98fm1bch 容器_o3go8ny81i -->
                <al-box class="vid_ql98fm1bch">
                  <!-- begin vid_wbejoztfdf 计划开始时间 -->
                  <span class="vid_wbejoztfdf"> 计划开始时间 </span>
                  <!-- end vid_wbejoztfdf 计划开始时间 -->
                </al-box>
                <!-- end vid_ql98fm1bch 容器_o3go8ny81i -->
              </a-col>
              <a-col :span="5">
                <!-- begin vid_pth36dg27v 容器_1tzsb1lup8 -->
                <al-box class="vid_pth36dg27v">
                  <!-- begin vid_gz4ovawl99 01-12 -->
                  <span class="vid_gz4ovawl99">
                    {{ renderStringInTemplate(vid_gz4ovawl99_props.rt_text) }}
                  </span>
                  <!-- end vid_gz4ovawl99 01-12 -->
                </al-box>
                <!-- end vid_pth36dg27v 容器_1tzsb1lup8 -->
              </a-col>
              <a-col :span="3">
                <!-- begin vid_v8igdcnuxn 容器_k5df5nu3d4 -->
                <al-box class="vid_v8igdcnuxn">
                  <!-- begin vid_yti85za95s 实际开始时间 -->
                  <span class="vid_yti85za95s"> 实际开始时间 </span>
                  <!-- end vid_yti85za95s 实际开始时间 -->
                </al-box>
                <!-- end vid_v8igdcnuxn 容器_k5df5nu3d4 -->
              </a-col>
              <a-col :span="5">
                <!-- begin vid_ohtbk6h975 容器_so7t3wcaws -->
                <al-box class="vid_ohtbk6h975">
                  <!-- begin vid_ss7wuj4d4s 01-13 -->
                  <span class="vid_ss7wuj4d4s">
                    {{ renderStringInTemplate(vid_ss7wuj4d4s_props.rt_text) }}
                  </span>
                  <!-- end vid_ss7wuj4d4s 01-13 -->
                </al-box>
                <!-- end vid_ohtbk6h975 容器_so7t3wcaws -->
              </a-col>
              <a-col :span="3">
                <!-- begin vid_c686s4arta 容器_12mrcgruo6 -->
                <al-box class="vid_c686s4arta">
                  <!-- begin vid_9egk6tm8st 计划结束时间 -->
                  <span class="vid_9egk6tm8st"> 计划结束时间 </span>
                  <!-- end vid_9egk6tm8st 计划结束时间 -->
                </al-box>
                <!-- end vid_c686s4arta 容器_12mrcgruo6 -->
              </a-col>
              <a-col :span="5">
                <!-- begin vid_2b0j1stypp 容器_mjm6k9vcaq -->
                <al-box class="vid_2b0j1stypp">
                  <!-- begin vid_4yzl296aw0 简单文本_e4719q3gr8 -->
                  <span class="vid_4yzl296aw0">
                    {{ renderStringInTemplate(vid_4yzl296aw0_props.rt_text) }}
                  </span>
                  <!-- end vid_4yzl296aw0 简单文本_e4719q3gr8 -->
                </al-box>
                <!-- end vid_2b0j1stypp 容器_mjm6k9vcaq -->
              </a-col>
              <a-col :span="3">
                <!-- begin vid_rtce26ius3 容器_2wz9tjx83n -->
                <al-box class="vid_rtce26ius3">
                  <!-- begin vid_fq942chfce 实际结束时间 -->
                  <span class="vid_fq942chfce"> 实际结束时间 </span>
                  <!-- end vid_fq942chfce 实际结束时间 -->
                </al-box>
                <!-- end vid_rtce26ius3 容器_2wz9tjx83n -->
              </a-col>
              <a-col :span="5">
                <!-- begin vid_zojtv2i63f 容器_qww1wafvel -->
                <al-box class="vid_zojtv2i63f">
                  <!-- begin vid_lg3avbjuqx 文本 -->
                  <span class="vid_lg3avbjuqx"> 文本 </span>
                  <!-- end vid_lg3avbjuqx 文本 -->
                </al-box>
                <!-- end vid_zojtv2i63f 容器_qww1wafvel -->
              </a-col>
              <a-col :span="3">
                <!-- begin vid_bms73mxcm1 容器_40hx46vn6t -->
                <al-box class="vid_bms73mxcm1">
                  <!-- begin vid_7ztcfbrs4b 提交人 -->
                  <span class="vid_7ztcfbrs4b"> 提交人 </span>
                  <!-- end vid_7ztcfbrs4b 提交人 -->
                </al-box>
                <!-- end vid_bms73mxcm1 容器_40hx46vn6t -->
              </a-col>
              <a-col :span="5">
                <!-- begin vid_wwtbj2kg6v 容器_r15mg0ba3h -->
                <al-box class="vid_wwtbj2kg6v">
                  <!-- begin vid_762z22cbgo 简单文本_mhrp9jjg2f -->
                  <span class="vid_762z22cbgo"> 文本 </span>
                  <!-- end vid_762z22cbgo 简单文本_mhrp9jjg2f -->
                </al-box>
                <!-- end vid_wwtbj2kg6v 容器_r15mg0ba3h -->
              </a-col>
              <a-col :span="3">
                <!-- begin vid_mvjfqhic2m 容器_zh56clqio9 -->
                <al-box class="vid_mvjfqhic2m">
                  <!-- begin vid_moizjb96nv 提交时间 -->
                  <span class="vid_moizjb96nv"> 提交时间 </span>
                  <!-- end vid_moizjb96nv 提交时间 -->
                </al-box>
                <!-- end vid_mvjfqhic2m 容器_zh56clqio9 -->
              </a-col>
              <a-col :span="5">
                <!-- begin vid_3w2d80q2qe 容器_1kw8410gfp -->
                <al-box class="vid_3w2d80q2qe">
                  <!-- begin vid_bptj2d75cf 简单文本_q1jaswxr7x -->
                  <span class="vid_bptj2d75cf"> 文本 </span>
                  <!-- end vid_bptj2d75cf 简单文本_q1jaswxr7x -->
                </al-box>
                <!-- end vid_3w2d80q2qe 容器_1kw8410gfp -->
              </a-col>
              <a-col :span="3">
                <!-- begin vid_n68vhhcd63 容器_ndt9vbi0wl -->
                <al-box class="vid_n68vhhcd63">
                  <!-- begin vid_gqqk2a2eta 验收标准 -->
                  <span class="vid_gqqk2a2eta"> 验收标准 </span>
                  <!-- end vid_gqqk2a2eta 验收标准 -->
                </al-box>
                <!-- end vid_n68vhhcd63 容器_ndt9vbi0wl -->
              </a-col>
              <a-col :span="21">
                <!-- begin vid_jhzhk0vh9s 容器_ybagc3fnh9 -->
                <al-box class="vid_jhzhk0vh9s">
                  <!-- begin vid_jv7cgcwchk 简单文本_lmlq9g8q7o -->
                  <span class="vid_jv7cgcwchk">
                    {{ renderStringInTemplate(vid_jv7cgcwchk_props.rt_text) }}
                  </span>
                  <!-- end vid_jv7cgcwchk 简单文本_lmlq9g8q7o -->
                </al-box>
                <!-- end vid_jhzhk0vh9s 容器_ybagc3fnh9 -->
              </a-col>
              <a-col :span="3">
                <!-- begin vid_gq2pe9d4u9 容器_kjqe5qsjfv -->
                <al-box class="vid_gq2pe9d4u9">
                  <!-- begin vid_x3kcdlmafk 简单文本_zh8g7qauin -->
                  <span class="vid_x3kcdlmafk"> 备注 </span>
                  <!-- end vid_x3kcdlmafk 简单文本_zh8g7qauin -->
                </al-box>
                <!-- end vid_gq2pe9d4u9 容器_kjqe5qsjfv -->
              </a-col>
              <a-col :span="21">
                <!-- begin vid_yfajotznpx 容器_tk7fjt2j9f -->
                <al-box class="vid_yfajotznpx">
                  <!-- begin vid_qi1mlh4c5x 简单文本_7z66pifebz -->
                  <span class="vid_qi1mlh4c5x">
                    {{ renderStringInTemplate(vid_qi1mlh4c5x_props.rt_text) }}
                  </span>
                  <!-- end vid_qi1mlh4c5x 简单文本_7z66pifebz -->
                </al-box>
                <!-- end vid_yfajotznpx 容器_tk7fjt2j9f -->
              </a-col>
            </a-row>
            <!-- end vid_sdigc5dmak 布局容器_egydrzc47r -->
          </a-col>
        </a-row>
        <!-- end vid_oupkm1qcq4 布局容器_gkoiaw61if -->
        <!-- begin vid_v4oy51f1hi 容器_h7r8ppnnyt -->
        <al-box class="vid_v4oy51f1hi">
          <!-- begin vid_hwa2xhein8 容器_2r3b0zq19d -->
          <al-box class="vid_hwa2xhein8">
            <!-- begin vid_ap4d0o0dsd 变更详情 -->
            <span class="vid_ap4d0o0dsd"> 变更详情 </span>
            <!-- end vid_ap4d0o0dsd 变更详情 -->
          </al-box>
          <!-- end vid_hwa2xhein8 容器_2r3b0zq19d -->
          <!-- begin vid_dksrix2476 表格_14g9fqlbbf -->
          <!-- 表格_14g9fqlbbf -->
          <a-table
            class="vid_dksrix2476"
            :editRowSaveLoading="vid_dksrix2476_props.editRowSaveLoading"
            :sorter="vid_dksrix2476_props.sorter"
            :currentRow="vid_dksrix2476_props.currentRow"
            :selectedRowList="vid_dksrix2476_props.selectedRowList"
            :data-source="vid_dksrix2476_options()"
            @change="handle_vid_dksrix2476_change"
            :columns="vid_dksrix2476_columns"
            :pagination="vid_dksrix2476_pagination"
            row-key="id"
            @resizeColumn="(w, col) => handleResizeColumn(w, col, 'vid_dksrix2476')"
            :scroll="{ x: 'max-content', y: 'max-content', scrollToFirstRowOnChange: true, }"
            :row-class-name="(_record, index) => (index % 2 === 1 ? 'table-striped-even' : 'table-striped-odd')"
          >
            <template #headerCell="{ title, column }">
              <TableHeaderCell :title="title" :column="column" />
            </template>
            <template #bodyCell="{ text, column, record, index }">
              <!-- 序号列 -->
              <template v-if="column && column.dataIndex === 'vid_dksrix2476_serialNumber'">
                {{ index + 1 }}
              </template>
              <!-- {"type":"value","dataType":"STRING","rawDataType":"STRING","link":"","value":"id"} 列内容 -->
              <template v-if="column.dataIndex === 'id' && !column.customRender">
                <text-table-cell
                  :rowData="record"
                  :conditionValueMap="vid_dksrix2476_props.boundaryValueMap"
                  :dataSource="vid_dksrix2476_props.contentDataSource[column.dataIndex]"
                  :columnsConfig="column"
                  :value="text"
                />
              </template>
              <!-- {"type":"value","dataType":"STRING","rawDataType":"STRING","link":"","value":"name"} 列内容 -->
              <template v-if="column.dataIndex === 'name' && !column.customRender">
                <text-table-cell
                  :rowData="record"
                  :conditionValueMap="vid_dksrix2476_props.boundaryValueMap"
                  :dataSource="vid_dksrix2476_props.contentDataSource[column.dataIndex]"
                  :columnsConfig="column"
                  :value="text"
                />
              </template>
              <!-- {"type":"value","dataType":"STRING","rawDataType":"STRING","link":"","value":"变更项"} 列内容 -->
              <template v-if="column.dataIndex === 'changeFieldName' && !column.customRender">
                <text-table-cell
                  :rowData="record"
                  :conditionValueMap="vid_dksrix2476_props.boundaryValueMap"
                  :dataSource="vid_dksrix2476_props.contentDataSource[column.dataIndex]"
                  :columnsConfig="column"
                  :value="text"
                />
              </template>
              <!-- {"type":"value","dataType":"STRING","rawDataType":"STRING","link":"","value":"变更前"} 列内容 -->
              <template v-if="column.dataIndex === 'beforeChange' && !column.customRender">
                <text-table-cell
                  :rowData="record"
                  :conditionValueMap="vid_dksrix2476_props.boundaryValueMap"
                  :dataSource="vid_dksrix2476_props.contentDataSource[column.dataIndex]"
                  :columnsConfig="column"
                  :value="text"
                />
              </template>
              <!-- {"type":"value","dataType":"STRING","rawDataType":"STRING","link":"","value":"变更后"} 列内容 -->
              <template v-if="column.dataIndex === 'afterChange' && !column.customRender">
                <text-table-cell
                  :rowData="record"
                  :conditionValueMap="vid_dksrix2476_props.boundaryValueMap"
                  :dataSource="vid_dksrix2476_props.contentDataSource[column.dataIndex]"
                  :columnsConfig="column"
                  :value="text"
                />
              </template>
              <!-- {"type":"value","dataType":"STRING","rawDataType":"STRING","link":"","value":"变更原因"} 列内容 -->
              <template v-if="column.dataIndex === 'reasonsChange' && !column.customRender">
                <text-table-cell
                  :rowData="record"
                  :conditionValueMap="vid_dksrix2476_props.boundaryValueMap"
                  :dataSource="vid_dksrix2476_props.contentDataSource[column.dataIndex]"
                  :columnsConfig="column"
                  :value="text"
                />
              </template>
            </template>
          </a-table>
          <!-- end vid_dksrix2476 表格_14g9fqlbbf -->
        </al-box>
        <!-- end vid_v4oy51f1hi 容器_h7r8ppnnyt -->
      </al-box>
      <!-- end vid_a66h2jgxek 容器_ak0v3kpvfq -->
    </a-spin>
  </div>
</template>
<script setup lang="tsx">
  import {
      h, ref, reactive, toRaw, markRaw, watch, computed,
      onBeforeMount, onMounted, onBeforeUnmount, onUnmounted, onActivated, onDeactivated
    } from "vue";
    import { useRoute, useRouter } from 'vue-router';
    const router = useRouter();
    const route = useRoute();
    import { get, post, put, del, request, requestWithHeaders } from '@/utils/http/Axios';
    import { cloneDeep, localGet, merge, getDifferenceArray, traversalTreeStructure, checkCaseCondition, renderStringInTemplate, handleBreadcrumbJump, throttle, permission, getComponentParamsValue } from '@/utils/index';
    import { isNullOrEmpty, isEmptyArr, isNullOrUnDef, isContained, isArray, isEmpty, isObject } from '@/utils/is';
    import dayjs from 'dayjs';
    import { getPagePcChartsDataSourceConvert } from '@/utils/chart';
    import { message, notification, Modal } from 'ant-design-vue'
    import { propertyFormatByNumber, propertyFormatByPercentage, propertyFormatByDate, parseSubFromDataList } from '@/utils/format';
    import colorTheme from '@/design/custom-theme.json';
    
    import UserTableRecords from '@/model/UserTableRecords';
    import { getAppBaseUrl } from '@/utils/index';
    import { sendToken } from "@/hooks/useIframeToken";
    import { useSystemStore } from "@/store/modules/system";
    const systemStore = useSystemStore();
    

  import TextTableCell from '@/components/page/tableCell/text.vue';
  import TooltipTableCell from '@/components/page/tableCell/tooltip.vue';
  import NumberTableCell from '@/components/page/tableCell/number.vue';
  import ProgressTableCell from '@/components/page/tableCell/progress.vue';
  import OptionsTableCell from '@/components/page/tableCell/options.vue';
  import MultipleOptionsTableCell from '@/components/page/tableCell/multipleOptions.vue';
  import DatePickerTableCell from '@/components/page/tableCell/datePicker.vue';
  import RangePickerTableCell from '@/components/page/tableCell/rangePicker.vue';
  import RangeNumberTableCell from '@/components/page/tableCell/rangeNumber.vue';
  import BoolTableCell from '@/components/page/tableCell/bool.vue';
  import TableHeaderCell from '@/components/page/TableHeaderCell.vue';

      // 获取传入的流程ID和组件参数
      const props = defineProps({
            'processInstanceId': {
            type: [String,Number,Boolean],
            default: undefined,
        },
      })
      const immediateWatch = (source, callback) => {
        watch(source, callback, {deep: true,immediate: true })
      }



  /* -------------------------- 属性定义 -------------------------- */

      const setTimeOutList = [];
      const pageLoading = reactive({
        loading: false,
        tip: undefined
      });
      const authInfo = localGet('app-user-store');

    const vid_io6lji4vq4_props = reactive({
          rt_text: undefined,
  })

    const vid_8o2vce0kw8_props = reactive({
          rt_text: undefined,
  })

    const vid_8ce19j1ydg_props = reactive({
          rt_text: undefined,
  })

    const vid_qp4k4d9gl3_props = reactive({
          rt_text: undefined,
  })

    const vid_b6yjigkl3q_props = reactive({
          rt_text: undefined,
  })

    const vid_sncshfitvt_props = reactive({
          rt_text: undefined,
  })

    const vid_hp95j8xrxn_props = reactive({
          rt_text: undefined,
  })

    const vid_p0hyrkkmw7_props = reactive({
          rt_text: undefined,
  })

    const vid_urjvtoj54u_props = reactive({
          rt_text: undefined,
  })

    const vid_sv3wlynl7n_props = reactive({
          rt_text: undefined,
  })

    const vid_pazokhx20e_props = reactive({
          rt_text: undefined,
  })

    const vid_whsekrxwsy_props = reactive({
          rt_text: undefined,
  })

    const vid_vonhq9nbvm_props = reactive({
          rt_text: undefined,
  })

    const vid_gz4ovawl99_props = reactive({
          rt_text: undefined,
  })

    const vid_ss7wuj4d4s_props = reactive({
          rt_text: undefined,
  })

    const vid_4yzl296aw0_props = reactive({
          rt_text: undefined,
  })

    const vid_jv7cgcwchk_props = reactive({
          rt_text: undefined,
  })

    const vid_qi1mlh4c5x_props = reactive({
          rt_text: undefined,
  })

    const vid_dksrix2476_props = reactive({
          systemSort: [],
      sorter: {},
      editRowSaveLoading: {},
      currentRow: {"id":"","name":"","changeFieldName":"","beforeChange":"","afterChange":"","reasonsChange":""},
      selectedRowList: {"changeFieldName":[],"reasonsChange":[],"name":[],"afterChange":[],"id":[],"beforeChange":[]},
      totalNumber: "",
      rt_tableConfig: {"layout":{"showHeader":true,"sticky":false,"operationColumnFixed":"default"},"pagination":{"current":1,"pageSizeOptions":"10,20,30,40","enable":true,"showTotal":true,"hideOnSinglePage":false,"pageSize":10,"simple":false,"sync":true,"showQuickJumper":true,"showSizeChanger":true},"scroll":{"x":"max-content","y":"max-content","scrollToFirstRowOnChange":true},"style":{"contentStyle":{"borderColor":"#D9D9D9","enableContentStyle":true,"fontFamily":"arial, helvetica, \"microsoft yahei\"","lintHeight":40,"borderWidth":1,"evenLineBackColor":"#F8FAFC","textWeight":"400","fontSize":14,"oddLineBackColor":"#FFFFFF","textColor":"#262626"},"paginationStyle":{"layout":"bottomRight","size":"default"},"headerStyle":{"borderColor":"#D9D9D9","backgroundColor":"#3875FF","fontFamily":"arial, helvetica, \"microsoft yahei\"","lintHeight":40,"borderWidth":1,"textWeight":"600","fontSize":14,"enableTextStyle":true,"textColor":"#FFFFFF"}},"basic":{"rowSelection":false,"rowEdit":{"cancelText":"取消","editText":"编辑","saveText":"保存"},"title":"","showSequenceNumber":false,"rowKey":"id"}},
      columnList: [
          {
            id: 'xo8s9qfnus',
            dataIndex: 'changeFieldName',
            headerComment: false,
            title: '变更项',
            ellipsis: false,
            headerOverflow: 'ellipsis',
            contentAlign: 'left',
            customHeaderCell: () => ({ style: { 'text-align': 'left' } }),
            rowEditConditions: [],
            contentType: 'TEXT',
            contentConfig: {"conditionStyle":[],"boolConfig":"collection"},
            // 使用插槽的列，设置单元格padding为0，padding样式在内容插槽中已加，以便内容插槽设置背景色时可以占满整个单元格；该样式会在计算属性生成列配置时加入customCell
            customCellStyle: { padding: 0 },
            resizable: true,
          },
          {
            id: 'hsprg3vt72',
            dataIndex: 'beforeChange',
            headerComment: false,
            title: '变更前',
            ellipsis: false,
            headerOverflow: 'ellipsis',
            contentAlign: 'left',
            customHeaderCell: () => ({ style: { 'text-align': 'left' } }),
            rowEditConditions: [],
            contentType: 'TEXT',
            contentConfig: {"conditionStyle":[],"boolConfig":"collection"},
            // 使用插槽的列，设置单元格padding为0，padding样式在内容插槽中已加，以便内容插槽设置背景色时可以占满整个单元格；该样式会在计算属性生成列配置时加入customCell
            customCellStyle: { padding: 0 },
            width: '300px',
            resizable: true,
          },
          {
            id: 'ecf06nm1bt',
            dataIndex: 'afterChange',
            headerComment: false,
            title: '变更后',
            ellipsis: false,
            headerOverflow: 'ellipsis',
            contentAlign: 'left',
            customHeaderCell: () => ({ style: { 'text-align': 'left' } }),
            rowEditConditions: [],
            contentType: 'TEXT',
            contentConfig: {"conditionStyle":[],"boolConfig":"collection"},
            // 使用插槽的列，设置单元格padding为0，padding样式在内容插槽中已加，以便内容插槽设置背景色时可以占满整个单元格；该样式会在计算属性生成列配置时加入customCell
            customCellStyle: { padding: 0 },
            width: '300px',
            resizable: true,
          },
          {
            id: 'l0jul3pooc',
            dataIndex: 'reasonsChange',
            headerComment: false,
            title: '变更原因',
            ellipsis: false,
            headerOverflow: 'ellipsis',
            contentAlign: 'left',
            customHeaderCell: () => ({ style: { 'text-align': 'left' } }),
            rowEditConditions: [],
            contentType: 'TEXT',
            contentConfig: {"conditionStyle":[],"boolConfig":"collection"},
            // 使用插槽的列，设置单元格padding为0，padding样式在内容插槽中已加，以便内容插槽设置背景色时可以占满整个单元格；该样式会在计算属性生成列配置时加入customCell
            customCellStyle: { padding: 0 },
            width: '300px',
            resizable: true,
          },

        ],
      rawColumnList: [],
      // 进行行合并所需的排序规则，必须将其加到排序字段的前面，以实现合并单元格
      rowMergeSort: [],
      // 完整的排序规则：需要将行合并的排序规则和排序字段的排序规则赋给该属性；调接口时会使用其作为排序条件
      systemSort: [],
      // 条件格式需要的边界值映射：key为边界值id，value为边界值数据
      boundaryValueMap: {},
      // 表格单元格内容渲染需要的外部数据源：key为列，value为该列单元格的外部数据源配置
      contentDataSource: {},
  })



      // 处理校验
      const setSubFormName =(parentInfo, name)=>{
        return [parentInfo.parents, parentInfo.cycleIndex, name];
      }


    const vid_dksrix2476_options_raw = ref([{"name":"湖北省","id":"420000"},{"name":"武汉市","pid":"420000","id":"420100"},{"name":"十堰市","pid":"420000","id":"420300"},{"name":"汉阳区","pid":"420100","id":"420105"},{"name":"武昌区","pid":"420100","id":"420106"},{"name":"青山区","pid":"420100","id":"420107"},{"name":"茅箭区","pid":"420300","id":"420302"},{"name":"张湾区","pid":"420300","id":"420303"}])

      const vid_dksrix2476_options = computed(() => {
        return () => vid_dksrix2476_options_raw.value
      })

  // 图表组件 表格_14g9fqlbbf 条件格式数据依赖
  const vid_dksrix2476_chartConditionDependencyMap = ref({
  })
  /* ========================== 属性定义 ========================== */


  /* -------------------------- 元素数据引用 -------------------------- */


  /* ========================== 元素数据引用 ========================== */


  /* -------------------------- 页面数据 -------------------------- */

    // 页面数据 审批详情
    const dataConnector_conn_m45gnsk0hr_response = ref();
    const dataConnector_conn_m45gnsk0hr = async (additionParams = {}) => {
        const exec = async () => {
          // 获取参数
          const params = {

          };

          // 注入附加的参数
          try {
            merge(params, additionParams);
          } catch (error) {
            console.log(error)
          }

          // 判断加载提示

          // 处理URL
          let url = '/solution-ppm/api/v2/built-in-system-ppm/changeRecord/{instanceId}';
          // 替换url中的变量
          url = url.replace('{instanceId}', String(pageParameter_state.processInstanceId))
          // 排除空参数  日期组件重置后的空参数是[null] 或者[undefined]
          Object.keys(params).forEach(key=>{ if(params[key] === null){ delete params[key] }else if( Object.prototype.toString.call(params[key]) === '[object Object]' ){ Object.keys(params[key]).forEach(childKey=>{ if(params[key][childKey] === null || (Array.isArray(params[key][childKey]) && params[key][childKey].length === 1 && isNullOrUnDef(params[key][childKey]?.[0]))){ delete params[key][childKey] }}) } });
          return get(url, params, {
                headers: undefined
              }).then(async (resp) => {
            dataConnector_conn_m45gnsk0hr_response.value = resp;

            return resp;
          }).catch(async (e) => {


            return Promise.reject(e);
          }).finally(async () => {


          })
        }

          return await exec()

    }


    // 页面数据 完成任务审批详情
    const dataConnector_conn_rtucp29zln_response = ref();
    const dataConnector_conn_rtucp29zln = async (additionParams = {}) => {
        const exec = async () => {
          // 获取参数
          const params = {

          };

          // 注入附加的参数
          try {
            merge(params, additionParams);
          } catch (error) {
            console.log(error)
          }

          // 判断加载提示

          // 处理URL
          let url = '/solution-ppm/api/v2/built-in-system-ppm/changeRecord/task/{instanceId}';
          // 替换url中的变量
          url = url.replace('{instanceId}', String(pageParameter_state.processInstanceId))
          // 排除空参数  日期组件重置后的空参数是[null] 或者[undefined]
          Object.keys(params).forEach(key=>{ if(params[key] === null){ delete params[key] }else if( Object.prototype.toString.call(params[key]) === '[object Object]' ){ Object.keys(params[key]).forEach(childKey=>{ if(params[key][childKey] === null || (Array.isArray(params[key][childKey]) && params[key][childKey].length === 1 && isNullOrUnDef(params[key][childKey]?.[0]))){ delete params[key][childKey] }}) } });
          return get(url, params, {
                headers: undefined
              }).then(async (resp) => {
            dataConnector_conn_rtucp29zln_response.value = resp;

            return resp;
          }).catch(async (e) => {


            return Promise.reject(e);
          }).finally(async () => {


          })
        }

          return await exec()

    }


    // 页面数据 任务审批详情中的任务风险分页
    const dataConnector_conn_trnrlsqdxj_response = ref();
    const dataConnector_conn_trnrlsqdxj = async (additionParams = {}) => {
        const exec = async () => {
          // 获取参数
          const params = {
            instanceId: pageParameter_state.processInstanceId,
          pageNo: null,
          pageSize: null
          };

          // 注入附加的参数
          try {
            merge(params, additionParams);
          } catch (error) {
            console.log(error)
          }

          // 判断加载提示

          // 处理URL
          let url = '/solution-ppm/api/v2/built-in-system-ppm/changeRecord/taskRisk/list';
          // 替换url中的变量

          // 排除空参数  日期组件重置后的空参数是[null] 或者[undefined]
          Object.keys(params).forEach(key=>{ if(params[key] === null){ delete params[key] }else if( Object.prototype.toString.call(params[key]) === '[object Object]' ){ Object.keys(params[key]).forEach(childKey=>{ if(params[key][childKey] === null || (Array.isArray(params[key][childKey]) && params[key][childKey].length === 1 && isNullOrUnDef(params[key][childKey]?.[0]))){ delete params[key][childKey] }}) } });
          return post(url, params, {
                headers: undefined
              }).then(async (resp) => {
            dataConnector_conn_trnrlsqdxj_response.value = resp;

            return resp;
          }).catch(async (e) => {


            return Promise.reject(e);
          }).finally(async () => {


          })
        }

          return await exec()

    }


    // 页面数据 查询标准信息完成标准
    const dataConnector_conn_80alhkvp89_response = ref();
    const dataConnector_conn_80alhkvp89 = async (additionParams = {}) => {
        const exec = async () => {
          // 获取参数
          const params = {
            type: '完成标准'
          };

          // 注入附加的参数
          try {
            merge(params, additionParams);
          } catch (error) {
            console.log(error)
          }

          // 判断加载提示

          // 处理URL
          let url = '/solution-ppm/api/v2/built-in-system-ppm/changeRecord/{instanceId}/standard_info';
          // 替换url中的变量
          url = url.replace('{instanceId}', String(pageParameter_state.processInstanceId))
          // 排除空参数  日期组件重置后的空参数是[null] 或者[undefined]
          Object.keys(params).forEach(key=>{ if(params[key] === null){ delete params[key] }else if( Object.prototype.toString.call(params[key]) === '[object Object]' ){ Object.keys(params[key]).forEach(childKey=>{ if(params[key][childKey] === null || (Array.isArray(params[key][childKey]) && params[key][childKey].length === 1 && isNullOrUnDef(params[key][childKey]?.[0]))){ delete params[key][childKey] }}) } });
          return post(url, params, {
                headers: undefined
              }).then(async (resp) => {
            dataConnector_conn_80alhkvp89_response.value = resp;

            return resp;
          }).catch(async (e) => {


            return Promise.reject(e);
          }).finally(async () => {


          })
        }

          return await exec()

    }


    // 页面数据 查询标准信息审核标准
    const dataConnector_conn_qqfu8de3jn_response = ref();
    const dataConnector_conn_qqfu8de3jn = async (additionParams = {}) => {
        const exec = async () => {
          // 获取参数
          const params = {
            type: '审核标准'
          };

          // 注入附加的参数
          try {
            merge(params, additionParams);
          } catch (error) {
            console.log(error)
          }

          // 判断加载提示

          // 处理URL
          let url = '/solution-ppm/api/v2/built-in-system-ppm/changeRecord/{instanceId}/standard_info';
          // 替换url中的变量
          url = url.replace('{instanceId}', String(pageParameter_state.processInstanceId))
          // 排除空参数  日期组件重置后的空参数是[null] 或者[undefined]
          Object.keys(params).forEach(key=>{ if(params[key] === null){ delete params[key] }else if( Object.prototype.toString.call(params[key]) === '[object Object]' ){ Object.keys(params[key]).forEach(childKey=>{ if(params[key][childKey] === null || (Array.isArray(params[key][childKey]) && params[key][childKey].length === 1 && isNullOrUnDef(params[key][childKey]?.[0]))){ delete params[key][childKey] }}) } });
          return post(url, params, {
                headers: undefined
              }).then(async (resp) => {
            dataConnector_conn_qqfu8de3jn_response.value = resp;

            return resp;
          }).catch(async (e) => {


            return Promise.reject(e);
          }).finally(async () => {


          })
        }

          return await exec()

    }


    // 页面数据 查询标准信息审批标准及注意事项
    const dataConnector_conn_35sdq6sf6y_response = ref();
    const dataConnector_conn_35sdq6sf6y = async (additionParams = {}) => {
        const exec = async () => {
          // 获取参数
          const params = {
            type: null
          };

          // 注入附加的参数
          try {
            merge(params, additionParams);
          } catch (error) {
            console.log(error)
          }

          // 判断加载提示

          // 处理URL
          let url = '/solution-ppm/api/v2/built-in-system-ppm/changeRecord/{instanceId}/standard_info';
          // 替换url中的变量
          url = url.replace('{instanceId}', String(pageParameter_state.processInstanceId))
          // 排除空参数  日期组件重置后的空参数是[null] 或者[undefined]
          Object.keys(params).forEach(key=>{ if(params[key] === null){ delete params[key] }else if( Object.prototype.toString.call(params[key]) === '[object Object]' ){ Object.keys(params[key]).forEach(childKey=>{ if(params[key][childKey] === null || (Array.isArray(params[key][childKey]) && params[key][childKey].length === 1 && isNullOrUnDef(params[key][childKey]?.[0]))){ delete params[key][childKey] }}) } });
          return post(url, params, {
                headers: undefined
              }).then(async (resp) => {
            dataConnector_conn_35sdq6sf6y_response.value = resp;

            return resp;
          }).catch(async (e) => {


            return Promise.reject(e);
          }).finally(async () => {


          })
        }

          return await exec()

    }


    // 页面数据 查询标准信息(sop)
    const dataConnector_conn_xaeuhbh32o_response = ref();
    const dataConnector_conn_xaeuhbh32o = async (additionParams = {}) => {
        const exec = async () => {
          // 获取参数
          const params = {
            type: 'sop'
          };

          // 注入附加的参数
          try {
            merge(params, additionParams);
          } catch (error) {
            console.log(error)
          }

          // 判断加载提示

          // 处理URL
          let url = '/solution-ppm/api/v2/built-in-system-ppm/changeRecord/{instanceId}/standard_info';
          // 替换url中的变量
          url = url.replace('{instanceId}', String(pageParameter_state.processInstanceId))
          // 排除空参数  日期组件重置后的空参数是[null] 或者[undefined]
          Object.keys(params).forEach(key=>{ if(params[key] === null){ delete params[key] }else if( Object.prototype.toString.call(params[key]) === '[object Object]' ){ Object.keys(params[key]).forEach(childKey=>{ if(params[key][childKey] === null || (Array.isArray(params[key][childKey]) && params[key][childKey].length === 1 && isNullOrUnDef(params[key][childKey]?.[0]))){ delete params[key][childKey] }}) } });
          return post(url, params, {
                headers: undefined
              }).then(async (resp) => {
            dataConnector_conn_xaeuhbh32o_response.value = resp;

            return resp;
          }).catch(async (e) => {


            return Promise.reject(e);
          }).finally(async () => {


          })
        }

          return await exec()

    }


  /* ========================== 页面数据 ========================== */



  /* -------------------------- 响应 -------------------------- */

  /* ========================== 响应 ========================== */


  /* -------------------------- 函数 -------------------------- */

  /* ========================== 函数 ========================== */


  /* -------------------------- 页面参数 -------------------------- */

    const pageParameter_state = reactive({
        'processInstanceId': props.processInstanceId ?? route.query.processInstanceId,
    })

  /* ========================== 页面参数 ========================== */


  /* -------------------------- 组件事件处理方法 -------------------------- */

    // ---------------------------- 组件数据同步 ----------------------------
    // 处理 这里是项目阶段 的 rt_text 属性关联
  watch(() => dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.milepostName,
    () => {
      let dataList = dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.milepostName

      vid_io6lji4vq4_props.rt_text = dataList;
    },
    {deep: true})
  // 处理 这里是项目名称 的 rt_text 属性关联
  watch(() => dataConnector_conn_m45gnsk0hr_response?.value?.data?.projectName,
    () => {
      let dataList = dataConnector_conn_m45gnsk0hr_response?.value?.data?.projectName

      vid_8o2vce0kw8_props.rt_text = dataList;
    },
    {deep: true})
  // 处理 提交附件 的 rt_text 属性关联
  watch(() => dataConnector_conn_rtucp29zln_response?.value?.data?.approvalType,
    () => {
      let dataList = dataConnector_conn_rtucp29zln_response?.value?.data?.approvalType

      vid_8ce19j1ydg_props.rt_text = dataList;
    },
    {deep: true})
  // 处理 未启动 的 rt_text 属性关联
  watch(() => dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.taskStatus,
    () => {
      let dataList = dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.taskStatus

      vid_qp4k4d9gl3_props.rt_text = dataList;
    },
    {deep: true})
  // 处理 这里是任务名称 的 rt_text 属性关联
  watch(() => dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.taskName,
    () => {
      let dataList = dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.taskName

      vid_b6yjigkl3q_props.rt_text = dataList;
    },
    {deep: true})
  // 处理 高 的 rt_text 属性关联
  watch(() => dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.priorityStr,
    () => {
      let dataList = dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.priorityStr

      vid_sncshfitvt_props.rt_text = dataList;
    },
    {deep: true})
  // 处理 文本 的 rt_text 属性关联
  watch(() => dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.taskType,
    () => {
      let dataList = dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.taskType

      vid_hp95j8xrxn_props.rt_text = dataList;
    },
    {deep: true})
  // 处理 26 的 rt_text 属性关联
  watch(() => dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.workingHours,
    () => {
      let dataList = dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.workingHours

      vid_p0hyrkkmw7_props.rt_text = dataList;
    },
    {deep: true})
  // 处理 28 的 rt_text 属性关联
  watch(() => dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.actualWorkHours,
    () => {
      let dataList = dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.actualWorkHours

      vid_urjvtoj54u_props.rt_text = dataList;
    },
    {deep: true})
  // 处理 超出 的 rt_text 属性关联
  watch(() => dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.stateInput,
    () => {
      let dataList = dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.stateInput

      vid_sv3wlynl7n_props.rt_text = dataList;
    },
    {deep: true})
  // 处理 张珊珊 的 rt_text 属性关联
  watch(() => dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.taskOwner,
    () => {
      let dataList = dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.taskOwner

      vid_pazokhx20e_props.rt_text = dataList;
    },
    {deep: true})
  // 处理 张珊珊 的 rt_text 属性关联
  watch(() => dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.assessorName,
    () => {
      let dataList = dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.assessorName

      vid_whsekrxwsy_props.rt_text = dataList;
    },
    {deep: true})
  // 处理 好多人 的 rt_text 属性关联
  watch(() => dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.taskParticipantStr,
    () => {
      let dataList = dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.taskParticipantStr

      vid_vonhq9nbvm_props.rt_text = dataList;
    },
    {deep: true})
  // 处理 01-12 的 rt_text 属性关联
  watch(() => dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.startTime,
    () => {
      let dataList = dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.startTime

      vid_gz4ovawl99_props.rt_text = dataList;
    },
    {deep: true})
  // 处理 01-13 的 rt_text 属性关联
  watch(() => dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.actualStarTime,
    () => {
      let dataList = dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.actualStarTime

      vid_ss7wuj4d4s_props.rt_text = dataList;
    },
    {deep: true})
  // 处理 简单文本_e4719q3gr8 的 rt_text 属性关联
  watch(() => dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.endTime,
    () => {
      let dataList = dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.endTime

      vid_4yzl296aw0_props.rt_text = dataList;
    },
    {deep: true})
  // 处理 简单文本_lmlq9g8q7o 的 rt_text 属性关联
  watch(() => dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.acceptanceCriteria,
    () => {
      let dataList = dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.acceptanceCriteria

      vid_jv7cgcwchk_props.rt_text = dataList;
    },
    {deep: true})
  // 处理 简单文本_7z66pifebz 的 rt_text 属性关联
  watch(() => dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.description,
    () => {
      let dataList = dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.description

      vid_qi1mlh4c5x_props.rt_text = dataList;
    },
    {deep: true})
    // ============================ 组件数据同步 ============================

  /**
  * 处理元素 表格 的 change 事件
  */
  let handle_vid_dksrix2476_change = throttle(async (...params) => {
  // 处理分页器相关数据
  const [pagination, filters, sorter] = params;
  const { current, pageSize } = pagination;
  vid_dksrix2476_props.rt_tableConfig.pagination.current = current;
  vid_dksrix2476_props.rt_tableConfig.pagination.pageSize = pageSize;
  // 处理排序相关数据
  const { field, order } = sorter;
  const sorterList = [...vid_dksrix2476_props.rowMergeSort];
  let sorterValue = {};
  if (order === 'descend') {
  sorterValue = { order: field, direction: 'DESC' }
  } else if (order === 'ascend') {
  sorterValue = { order: field, direction: 'ASC' }
  }
  sorterList.push(sorterValue);
  vid_dksrix2476_props.systemSort = sorterList;
  vid_dksrix2476_props.sorter = sorterValue;
  }, 500)
  /* ========================== 组件事件处理方法 ========================== */


  /* -------------------------- 生命周期 -------------------------- */
  // 用于参数变更后重新执行自定义指令
      const queryUpdateFlag = ref(0);
      onMounted(() => { ;dataConnector_conn_m45gnsk0hr()
  dataConnector_conn_rtucp29zln()
  dataConnector_conn_trnrlsqdxj()
  dataConnector_conn_80alhkvp89()
  dataConnector_conn_35sdq6sf6y()
  dataConnector_conn_xaeuhbh32o()

    });

    onUnmounted(() => {
      // 销毁定时器
      setTimeOutList.forEach(({ repeat, timer }) => {
        repeat ?  clearInterval(timer): clearTimeout(timer);
      });
    });

  /* ========================== 生命周期 ========================== */


  /* -------------------------- 数据关联处理 -------------------------- */





  /* -------------------------- 表单数据同步 -------------------------- */
  /* ========================== 表单数据同步 ========================== */

  /* ========================== 数据关联处理 ========================== */


  /* -------------------------- 不同组件自定义的处理逻辑 -------------------------- */
  onMounted(() => {
    const rawColumnList = []
    traversalTreeStructure(vid_dksrix2476_props.columnList, (node) => {
      if (node.type === 'column') {
        rawColumnList.push(node)
      }
    });
    
    // 获取缓存的表格列宽度，处理列宽信息
    UserTableRecords.getTableRecords(localGet('al__UID')).then((res) => {
      const columnWidthMap = res['vid_dksrix2476'] ?? {};
      rawColumnList.map((column) => {
        if(columnWidthMap[column.dataIndex]) {
          column.width = columnWidthMap[column.dataIndex]
        }
      })
    });
    
    vid_dksrix2476_props.rawColumnList = rawColumnList;
  })
  // 生成表格列：相同分组的数据需要合并单元格
  const vid_dksrix2476_columns = computed(() => {
    // 需要合并单元格的列
    const groupKeys = [];

    // 将表头配置按照groupTitle字段进行分组，以实现多级表头
    const columnList = [...vid_dksrix2476_props.columnList];
    function formatColumns(columns) {
      columns.forEach(item => {
        const { dataIndex, contentAlign, children, customCellStyle } = item;
        // 如果当前列是分组列，则递归处理它的子列，当前列本身不作处理
        if (!dataIndex && children && children.length) {
          formatColumns(children);
          return;
        }

        const groupIndex = groupKeys.findIndex(item => item === dataIndex);
        // 如果当前字段属于分组字段，则给它添加合并单元格的配置，否则直接返回
        if (groupIndex === -1) {
          item.customCell = (record, index) => {
            return { style: { 'text-align': contentAlign, ...(customCellStyle || {}) } };
          };
        } else {
          item.customCell = (record, index) => {
            const rowGroupKeys = groupKeys.slice(0, groupIndex + 1);
            const rowSpanList = generateRowSpanList(vid_dksrix2476_options.value(), rowGroupKeys,vid_dksrix2476_props.editRecordMap);
            return { rowSpan: rowSpanList[index], style: { 'text-align': contentAlign, ...(customCellStyle || {}) } };
          };
        }
      })
    }

    // 格式化column：增加合并单元格的配置，以及自定义样式
    formatColumns(columnList);

    return columnList;
  });


    // 表格分页器信息：将总条数信息加到基础分页信息中
    const vid_dksrix2476_pagination = computed(() => {
      const { totalNumber, rt_tableConfig } = vid_dksrix2476_props;
      const {
        enable = true,
        current= 1,
        pageSize= 10,
        showSizeChanger= false,
        pageSizeOptions= '10,20,30,40',
        showTotal= false,
        showQuickJumper= false,
        simple= false,
        hideOnSinglePage= false,
      } = rt_tableConfig.pagination ?? {};
      const { size = 'default', layout='bottomRight' } = rt_tableConfig?.style?.paginationStyle || {}
      let info = {};
      if(enable) {
        info = {
          total: totalNumber || 0,
          pageSize,
          size,
          simple,
          current,
          showSizeChanger,
          pageSizeOptions: pageSizeOptions.split(','),
          showQuickJumper,
          hideOnSinglePage,
          position: [layout],
        }
        if(showTotal) {
          info.showTotal = (total, range) => `共${total}个项目，第${current}/${Math.ceil(total / pageSize)}页`
        }
        return info;
      }
      return false;
    })
  /**
   * 生成分组字段合并单元格的配置：返回值为一个数字数组，数组里面每一项即为该字段当前行的rowSpan配置
   * @param {Array} 表格中的数据
   * @param {Array} 当前分组字段的列表，注：为了保证优先级低的字段合并后是优先级高的字段合并后的子集，需要把比该字段优先级高的分组字段按顺序放在该字段前面；例如：所有分组字段列表为['grade', 'age', 'score']，要生成age字段的合并单元格配置，则该参数需要传['grade', 'age']
   * @returns {Array} 该字段合并单元格的rowSpan配置，例：[1, 1, 2, 0, 1]
   */
  function generateRowSpanList(dataSource, groupKeys,editRecordMap) {
    if (!dataSource || !dataSource.length) {
      return [];
    }

    const rowSpanList = [];

    // 判断单元格是否需要合并的临时值：使用表格数据最后一行进行初始化（表格数据的遍历是倒序进行的）
    let tempValue = getGroupValue(dataSource[dataSource.length - 1], groupKeys);
    // 记录需要合并单元格的数量
    let tempValueCount = 0;

    // 倒序遍历数组，以保证使用最前面一条数据合并单元格
    for (let index = dataSource.length - 1; index >= 0; index--) {
      rowSpanList[index] = 0;
      const groupValue = getGroupValue(dataSource[index], groupKeys);
      // 如果当前行的分组数据跟上一行一致，则将标记数量加一；否则将标记数量的当前值赋给上一条数据，并重置临时值和标记数量
      if(editRecordMap && editRecordMap[index]){ //如果当前行是编辑行
        rowSpanList[index + 1] = tempValueCount;
        tempValue = "";
        tempValueCount=1;
      }
      else if (groupValue === tempValue) {
        tempValueCount++;
      } else {
        rowSpanList[index + 1] = tempValueCount;
        tempValue = groupValue;
        tempValueCount = 1;
      }

      // 遍历到最后一行，将当前的标记数量赋给当前行
      if (index === 0) {
        rowSpanList[index] = tempValueCount;
      }
    }

    return rowSpanList;
  }

  /**
   * 根据分组字段列表生成当前数据行的分组值
   * @param {Object} 当前数据行
   * @param {Array} 分组字段列表
   * @returns {String} 拼装的当前数据行的分组值，例：record为{ age: 7, grade: '一年级', name: '小赵' }，groupKeys为['grade', 'age']，则拼装后的返回值为'一年级__$__7'
   */
  function getGroupValue(record, groupKeys) {
    const groupValueList = [];
    groupKeys.forEach(groupKey => {
      let val = record[groupKey]
      if (isArray(val)) {
        val = record[groupKey + '_labels']
      } else if (isObject(val)) {
        console.warn('警告表格列数据为object，可能导致行合并异常，列key为：'+ groupKey,val)
      }
      groupValueList.push(`${val}`);
    });
    return groupValueList.join('__$__');
  }

  /**
   * 将列表数据转换成树状数据
   * @param {Array} 原始的列表数据
   * @param {String|Number} 列表数据的唯一key
   * @param {String|Number} 列表数据转成树时的父级id
  */
  function convertListToTree(list, key, parentKey) {
    const clonedList = cloneDeep(list || []);

    // 遍历列表数据，生成树节点的map：key为列表数据的唯一key，value为列表当前行的数据
    const treeNodeMap = {};
    clonedList.forEach(item => {
      treeNodeMap[item[key]] = item;
    });

    const treeDataList = [];
    clonedList.forEach(item => {
      // 如果当前行数据的父级id不在树节点的map中，则当前数据为根节点数据，将其加入最终树形数据的列表；否则将其放入其父节点数据的children中
      if (!treeNodeMap[item[parentKey]]) {
        treeDataList.push(item);
      } else {
        if (!treeNodeMap[item[parentKey]].children) {
          treeNodeMap[item[parentKey]].children = [];
        }
        treeNodeMap[item[parentKey]].children.push(item);
      }
    });

    return treeDataList;
  }

  /**
   * 表格列宽伸缩处理，使用indexedDB缓存伸缩后的列宽度
   */
  const handleResizeColumn = (w, col, vid) => {
    col.width = w;
    
    UserTableRecords.saveTableRecords(col, localGet('al__UID'), vid)
    
  }
  /* ========================== 不同组件自定义的处理逻辑 ========================== */


  // ================================定制化逻辑========================================
  // 完成标准选中赋值
  watch(() => dataConnector_conn_80alhkvp89_response?.value?.data,
    () => {
      q_iaed61pve1.z_vnusptgo4k = [];
       dataConnector_conn_80alhkvp89_response?.value?.data.map(item => {
         if (item.selected) {
           q_iaed61pve1.z_vnusptgo4k.push(item.id)
         }
       });
    },
    {deep: true})


  // 审核标准选中赋值
  watch(() => dataConnector_conn_qqfu8de3jn_response?.value?.data,
    () => {
      q_iaed61pve1.u_ioa0puvetx = [];
      dataConnector_conn_qqfu8de3jn_response?.value?.data.map(item => {
        if (item.selected) {
          q_iaed61pve1.u_ioa0puvetx.push(item.id)
        }
      });
    },
    {deep: true})




   watch(() => dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.taskStatus,
   () => {
     let dataList = dataConnector_conn_rtucp29zln_response?.value?.data?.ppmTaskDto?.taskStatus
  //
  let text = document.querySelector('.vid_qp4k4d9gl3')
  if(dataList==='完成'){
      text.style.color = '#30BF78'
  }else if(dataList==='延期'){
      text.style.color = '#E02020'
  }else if(dataList==='进行中'){
      text.style.color = '#3875FF'
  }else if(dataList==='延期完成'){
      text.style.color = '#FF9846'
  }else if(dataList==='未启动'){
      text.style.color = '#8C8C8C'
  }
  //
   },
   {deep: true})
</script>
<style lang="less" scoped>
  .page_root {
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color:#F5F5F5;
  }
  .page_root :deep(.@{ant-prefix}-spin-nested-loading),
  .page_root :deep(.@{ant-prefix}-spin-container)
   {
      height: 100%;
  }
  .page_root :deep(.@{ant-prefix}-spin-container .@{ant-prefix}-table-wrapper)
   {
      display: flex;
      flex-flow: column nowrap;
      justify-content: flex-start;
  }
  .page_root :deep(.@{ant-prefix}-table)
   {
    flex: auto;
    overflow: auto;
  }
  .table-moreBtn_down {
    overflow: hidden; white-space: nowrap; text-overflow: ellipsis; width: 100px;
  }

  .table-moreBtn_menu :deep(.table-moreBtn_menu-item):hover {
    background: #ebf1ff;
  }

  /*  表格树结构样式处理，展开按钮层级增加*/
  :deep(.@{ant-prefix}-table-row-expand-icon) {
    z-index: 1;
  }
  /*  表格树结构 由于每个表格项采用自定义组件，使用绝对定位布局，开启树结构导致显示异常，暂时使用层级定位位置 */
  :deep(.@{ant-prefix}-table-row-level-1 .@{ant-prefix}-table-cell-with-append .cell-wrapper-left) {
    left: 15px !important;
    width: calc(100% - 15px);
  }
  :deep(.@{ant-prefix}-table-row-level-2 .@{ant-prefix}-table-cell-with-append .cell-wrapper-left) {
    left: 30px !important;
    width: calc(100% - 30px);
  }
  :deep(.@{ant-prefix}-table-row-level-3 .@{ant-prefix}-table-cell-with-append .cell-wrapper-left) {
    left: 45px !important;
    width: calc(100% - 45px);
  }
  :deep(.@{ant-prefix}-table-row-level-4 .@{ant-prefix}-table-cell-with-append .cell-wrapper-left) {
    left: 60px !important;
    width: calc(100% - 60px);
  }

  /* 穿梭框改变默认样式，为根据组件样式控制左右栏宽度。 */
  :deep(.@{ant-prefix}-transfer-list)
   {
      height: 100%;
      width: 50%;
  }
  .vid_a66h2jgxek{
      width:100%;
      height:100%;
      min-height:100%;
      overflow-y:auto;
      display:block;
      box-shadow:0px 0px 0px 0px
  }
  .vid_oupkm1qcq4{
      width:100%;
      display:flex;
      flex-direction:column;
      flex-wrap:undefined;
      margin-bottom:16px;
      padding-top:16px;
      padding-right:24px;
      padding-bottom:16px;
      padding-left:24px;
      background-color:#FFFFFF
  }
  .vid_qda7xszz78{
      margin-bottom:16px;
      background-color:rgba(255, 255, 255, 1)
  }
  .vid_sfilmvv65x{
      padding-left:8px;
      font-weight:800;
      font-size:18px;
      line-height:18px;
      border-left-style:solid;
      border-left-width:4px;
      border-left-color:#3875FF
  }
  .vid_sdigc5dmak{
      background-color:#FFFFFF
  }
  .vid_cjcrgsebb6{
      height:40px;
      display:flex;
      align-items:center;
      justify-content:flex-start;
      flex-wrap:undefined;
      padding-left:8px;
      border-style:solid;
      border-width:1px;
      border-color:#D9D9D9
  }
  .vid_io6lji4vq4{
      font-weight:500
  }
  .vid_1js5v2r9t0{
      height:40px;
      display:flex;
      align-items:center;
      justify-content:flex-end;
      flex-wrap:undefined;
      padding-right:8px;
      background-color:#FAFAFA;
      box-shadow:0px 0px 0px 0px ;
      border-style:solid;
      border-width:1px;
      border-color:#D9D9D9
  }
  .vid_tv8o9xz8w7{
      height:40px;
      display:flex;
      align-items:center;
      justify-content:flex-start;
      flex-wrap:undefined;
      padding-left:8px;
      border-style:solid;
      border-width:1px;
      border-color:#D9D9D9
  }
  .vid_8o2vce0kw8{
      font-weight:500
  }
  .vid_zf84t1z0ou{
      height:40px;
      display:flex;
      align-items:center;
      justify-content:flex-end;
      flex-wrap:undefined;
      padding-right:8px;
      background-color:#FAFAFA;
      border-style:solid;
      border-width:1px;
      border-color:#D9D9D9
  }
  .vid_lo5a0q3ej2{
      height:40px;
      display:flex;
      align-items:center;
      justify-content:flex-start;
      flex-wrap:undefined;
      padding-left:8px;
      border-style:solid;
      border-width:1px;
      border-color:#D9D9D9
  }
  .vid_8ce19j1ydg{
      font-weight:500
  }
  .vid_0jjjn9opn0{
      height:40px;
      display:flex;
      align-items:center;
      justify-content:flex-end;
      flex-wrap:undefined;
      padding-right:8px;
      background-color:#FAFAFA;
      border-style:solid;
      border-width:1px;
      border-color:#D9D9D9
  }
  .vid_sc7a8r4209{
      height:40px;
      display:flex;
      align-items:center;
      justify-content:flex-start;
      flex-wrap:undefined;
      padding-left:8px;
      border-style:solid;
      border-width:1px;
      border-color:#D9D9D9
  }
  .vid_qp4k4d9gl3{
      font-weight:500
  }
  .vid_0cbieojnyv{
      height:40px;
      display:flex;
      align-items:center;
      justify-content:flex-end;
      flex-wrap:undefined;
      padding-right:8px;
      background-color:#FAFAFA;
      border-style:solid;
      border-width:1px;
      border-color:#D9D9D9
  }
  .vid_uh026olt73{
      height:40px;
      display:flex;
      align-items:center;
      justify-content:flex-start;
      flex-wrap:undefined;
      padding-left:8px;
      border-style:solid;
      border-width:1px;
      border-color:#D9D9D9
  }
  .vid_b6yjigkl3q{
      font-weight:500
  }
  .vid_e2okkmgl3t{
      height:40px;
      display:flex;
      align-items:center;
      justify-content:flex-end;
      flex-wrap:undefined;
      padding-right:8px;
      background-color:#FAFAFA;
      box-shadow:0px 0px 0px 0px ;
      border-style:solid;
      border-width:1px;
      border-color:#D9D9D9
  }
  .vid_1bxdl9ja36{
      height:40px;
      display:flex;
      align-items:center;
      justify-content:flex-end;
      flex-wrap:undefined;
      padding-right:8px;
      background-color:#FAFAFA;
      border-style:solid;
      border-width:1px;
      border-color:#D9D9D9
  }
  .vid_fa1rlwklge{
      height:40px;
      display:flex;
      align-items:center;
      justify-content:flex-start;
      flex-wrap:undefined;
      padding-left:8px;
      border-style:solid;
      border-width:1px;
      border-color:#D9D9D9
  }
  .vid_sncshfitvt{
      font-weight:500
  }
  .vid_xh3mjnc6ma{
      height:40px;
      display:flex;
      align-items:center;
      justify-content:flex-end;
      flex-wrap:undefined;
      padding-right:8px;
      background-color:#FAFAFA;
      border-style:solid;
      border-width:1px;
      border-color:#D9D9D9
  }
  .vid_hqn5xh09sk{
      height:40px;
      display:flex;
      align-items:center;
      justify-content:flex-start;
      flex-wrap:undefined;
      padding-left:8px;
      border-style:solid;
      border-width:1px;
      border-color:#D9D9D9
  }
  .vid_hp95j8xrxn{
      font-weight:500
  }
  .vid_8r3seec86v{
      height:40px;
      display:flex;
      align-items:center;
      justify-content:flex-end;
      flex-wrap:undefined;
      padding-right:8px;
      background-color:#FAFAFA;
      border-style:solid;
      border-width:1px;
      border-color:#D9D9D9
  }
  .vid_f42tcbiz7z{
      height:40px;
      display:flex;
      align-items:center;
      justify-content:flex-start;
      flex-wrap:undefined;
      padding-left:8px;
      border-style:solid;
      border-width:1px;
      border-color:#D9D9D9
  }
  .vid_p0hyrkkmw7{
      font-weight:500
  }
  .vid_42rm5m8dvp{
      height:40px;
      display:flex;
      align-items:center;
      justify-content:flex-end;
      flex-wrap:undefined;
      padding-right:8px;
      background-color:rgba(250, 250, 250, 1);
      border-style:solid;
      border-width:1px;
      border-color:#D9D9D9
  }
  .vid_q7bhples4k{
      height:40px;
      display:flex;
      align-items:center;
      justify-content:flex-start;
      flex-wrap:undefined;
      padding-left:8px;
      border-style:solid;
      border-width:1px;
      border-color:#D9D9D9
  }
  .vid_urjvtoj54u{
      font-weight:500
  }
  .vid_7tn99inu2t{
      height:40px;
      display:flex;
      align-items:center;
      justify-content:flex-end;
      flex-wrap:undefined;
      padding-right:8px;
      background-color:rgba(250, 250, 250, 1);
      border-style:solid;
      border-width:1px;
      border-color:#D9D9D9
  }
  .vid_uab1om86ks{
      height:40px;
      display:flex;
      align-items:center;
      justify-content:flex-start;
      flex-wrap:undefined;
      padding-left:8px;
      border-style:solid;
      border-width:1px;
      border-color:#D9D9D9
  }
  .vid_sv3wlynl7n{
      font-weight:500
  }
  .vid_nmu3lxdncr{
      height:40px;
      display:flex;
      align-items:center;
      justify-content:flex-end;
      flex-wrap:undefined;
      padding-right:8px;
      background-color:rgba(250, 250, 250, 1);
      border-style:solid;
      border-width:1px;
      border-color:#D9D9D9
  }
  .vid_k6tmrw6knj{
      height:40px;
      display:flex;
      align-items:center;
      justify-content:flex-start;
      flex-wrap:undefined;
      padding-left:8px;
      border-style:solid;
      border-width:1px;
      border-color:#D9D9D9
  }
  .vid_pazokhx20e{
      font-weight:500
  }
  .vid_vxquccvrfm{
      height:40px;
      display:flex;
      align-items:center;
      justify-content:flex-end;
      flex-wrap:undefined;
      padding-right:8px;
      background-color:rgba(250, 250, 250, 1);
      border-style:solid;
      border-width:1px;
      border-color:#D9D9D9
  }
  .vid_on8s9oqwha{
      height:40px;
      display:flex;
      align-items:center;
      justify-content:flex-start;
      flex-wrap:undefined;
      padding-left:8px;
      border-style:solid;
      border-width:1px;
      border-color:#D9D9D9
  }
  .vid_whsekrxwsy{
      font-weight:500
  }
  .vid_tsi57xp757{
      height:40px;
      display:flex;
      align-items:center;
      justify-content:flex-end;
      flex-wrap:undefined;
      padding-right:8px;
      background-color:rgba(250, 250, 250, 1);
      border-style:solid;
      border-width:1px;
      border-color:#D9D9D9
  }
  .vid_butebueazf{
      height:40px;
      display:flex;
      align-items:center;
      justify-content:flex-start;
      flex-wrap:undefined;
      padding-left:8px;
      border-style:solid;
      border-width:1px;
      border-color:#D9D9D9
  }
  .vid_vonhq9nbvm{
      font-weight:500
  }
  .vid_ql98fm1bch{
      height:40px;
      display:flex;
      align-items:center;
      justify-content:flex-end;
      flex-wrap:undefined;
      padding-right:8px;
      background-color:#FAFAFA;
      border-style:solid;
      border-width:1px;
      border-color:#D9D9D9
  }
  .vid_pth36dg27v{
      height:40px;
      display:flex;
      align-items:center;
      justify-content:flex-start;
      flex-wrap:undefined;
      padding-left:8px;
      border-style:solid;
      border-width:1px;
      border-color:#D9D9D9
  }
  .vid_gz4ovawl99{
      font-weight:500
  }
  .vid_v8igdcnuxn{
      height:40px;
      display:flex;
      align-items:center;
      justify-content:flex-end;
      flex-wrap:undefined;
      padding-right:8px;
      background-color:rgba(250, 250, 250, 1);
      border-style:solid;
      border-width:1px;
      border-color:#D9D9D9
  }
  .vid_yti85za95s{
      box-shadow:0px 0px 0px 0px
  }
  .vid_ohtbk6h975{
      height:40px;
      display:flex;
      align-items:center;
      justify-content:flex-start;
      flex-wrap:undefined;
      padding-left:8px;
      border-style:solid;
      border-width:1px;
      border-color:#D9D9D9
  }
  .vid_ss7wuj4d4s{
      font-weight:500
  }
  .vid_c686s4arta{
      height:40px;
      display:flex;
      align-items:center;
      justify-content:flex-end;
      flex-wrap:undefined;
      padding-right:8px;
      background-color:#FAFAFA;
      border-style:solid;
      border-width:1px;
      border-color:#D9D9D9
  }
  .vid_2b0j1stypp{
      height:40px;
      display:flex;
      align-items:center;
      justify-content:flex-start;
      flex-wrap:undefined;
      padding-left:8px;
      border-style:solid;
      border-width:1px;
      border-color:#D9D9D9
  }
  .vid_4yzl296aw0{
      font-weight:500
  }
  .vid_rtce26ius3{
      height:40px;
      display:flex;
      align-items:center;
      justify-content:flex-end;
      flex-wrap:undefined;
      padding-right:8px;
      background-color:#FAFAFA;
      border-style:solid;
      border-width:1px;
      border-color:#D9D9D9
  }
  .vid_zojtv2i63f{
      height:40px;
      display:flex;
      align-items:center;
      justify-content:flex-start;
      flex-wrap:undefined;
      padding-left:8px;
      border-style:solid;
      border-width:1px;
      border-color:#D9D9D9
  }
  .vid_lg3avbjuqx{
      font-weight:500
  }
  .vid_bms73mxcm1{
      height:40px;
      display:flex;
      align-items:center;
      justify-content:flex-end;
      flex-wrap:undefined;
      padding-right:8px;
      background-color:#FAFAFA;
      border-style:solid;
      border-width:1px;
      border-color:#D9D9D9
  }
  .vid_wwtbj2kg6v{
      height:40px;
      display:flex;
      align-items:center;
      justify-content:flex-start;
      flex-wrap:undefined;
      padding-left:8px;
      border-style:solid;
      border-width:1px;
      border-color:#D9D9D9
  }
  .vid_762z22cbgo{
      font-weight:500
  }
  .vid_mvjfqhic2m{
      height:40px;
      display:flex;
      align-items:center;
      justify-content:flex-end;
      flex-wrap:undefined;
      padding-right:8px;
      background-color:#FAFAFA;
      border-style:solid;
      border-width:1px;
      border-color:#D9D9D9
  }
  .vid_3w2d80q2qe{
      height:40px;
      display:flex;
      align-items:center;
      justify-content:flex-start;
      flex-wrap:undefined;
      padding-left:8px;
      border-style:solid;
      border-width:1px;
      border-color:#D9D9D9
  }
  .vid_bptj2d75cf{
      font-weight:500
  }
  .vid_n68vhhcd63{
      height:56px;
      display:flex;
      align-items:center;
      justify-content:flex-end;
      flex-wrap:undefined;
      padding-right:8px;
      background-color:#FAFAFA;
      border-style:solid;
      border-width:1px;
      border-color:#D9D9D9
  }
  .vid_jhzhk0vh9s{
      height:56px;
      overflow-x:auto;
      overflow-y:auto;
      display:flex;
      align-items:center;
      justify-content:flex-start;
      flex-wrap:wrap;
      padding-top:8px;
      padding-bottom:8px;
      padding-left:8px;
      border-style:solid;
      border-width:1px;
      border-color:#D9D9D9
  }
  .vid_jv7cgcwchk{
      font-weight:500
  }
  .vid_gq2pe9d4u9{
      height:64px;
      display:flex;
      align-items:center;
      justify-content:flex-end;
      flex-wrap:undefined;
      padding-right:8px;
      background-color:#FAFAFA;
      border-style:solid;
      border-width:1px;
      border-color:#D9D9D9
  }
  .vid_yfajotznpx{
      height:64px;
      overflow-x:auto;
      overflow-y:auto;
      display:flex;
      align-items:center;
      justify-content:flex-start;
      flex-wrap:wrap;
      padding-top:8px;
      padding-bottom:8px;
      padding-left:8px;
      border-style:solid;
      border-width:1px;
      border-color:#D9D9D9
  }
  .vid_qi1mlh4c5x{
      font-weight:500
  }
  .vid_v4oy51f1hi{
      width:100%;
      display:block;
      padding-top:16px;
      padding-right:24px;
      padding-bottom:16px;
      padding-left:24px;
      background-color:#FFFFFF
  }
  .vid_hwa2xhein8{
      display:block;
      margin-bottom:16px;
      box-shadow:0px 0px 0px 0px
  }
  .vid_ap4d0o0dsd{
      padding-left:8px;
      font-weight:800;
      font-size:18px;
      line-height:18px;
      border-left-style:solid;
      border-left-width:4px;
      border-left-color:#3875FF
  }
  .vid_dksrix2476 :deep(.@{ant-prefix}-table-thead) > tr {
      height: 40px;
  }
  .vid_dksrix2476 :deep(.@{ant-prefix}-table-thead) > tr > th {
    background: #3875FF;
    font-size: 14px;
    font-family: arial, helvetica, "microsoft yahei";
    font-weight: 600;
    color: #FFFFFF;
    border-bottom:1px solid #D9D9D9;
    padding: 8px 16px;
  }
  .vid_dksrix2476 :deep(.@{ant-prefix}-table.@{ant-prefix}-table-bordered) .@{ant-prefix}-table-container .@{ant-prefix}-table-thead > tr:not(:last-child) > th {
    border-bottom:1px solid #D9D9D9;
  }
  .vid_dksrix2476 :deep(.@{ant-prefix}-table.@{ant-prefix}-table-bordered) .@{ant-prefix}-table-container .@{ant-prefix}-table-thead > tr > th {
    border-right:1px solid #D9D9D9;
  }
  /* 将表格自带的左边框取消，方便设置表头边框颜色和内容边框颜色 */
  .vid_dksrix2476 :deep(.@{ant-prefix}-table.@{ant-prefix}-table-bordered) .@{ant-prefix}-table-container {
    border-left: none;
  }
  .vid_dksrix2476 :deep(.@{ant-prefix}-table.@{ant-prefix}-table-bordered) .@{ant-prefix}-table-container .@{ant-prefix}-table-thead > tr > th[colstart='0']:first-child {
    border-left:1px solid #D9D9D9;
  }
  /* 开启粘性表头后，表格结构会发生变化 需另外处理 */
  .vid_dksrix2476 :deep(.@{ant-prefix}-table.@{ant-prefix}-table-bordered) .@{ant-prefix}-table-container .@{ant-prefix}-table-header table {
    border-top:1px solid #D9D9D9;
  }
  .vid_dksrix2476 :deep(.@{ant-prefix}-table.@{ant-prefix}-table-bordered) .@{ant-prefix}-table-container > .@{ant-prefix}-table-content > table {
    border-top:1px solid #D9D9D9;
  }
  .vid_dksrix2476 :deep(.@{ant-prefix}-table-thead) > tr > th:not(:last-child):not(.@{ant-prefix}-table-selection-column):not(.@{ant-prefix}-table-row-expand-icon-cell):not([colspan])::before {
      background: #D9D9D9;
      width: 1px;
  }
  .vid_dksrix2476 :deep(.@{ant-prefix}-table-cell-scrollbar) {
      box-shadow: none;
  }
  .vid_dksrix2476 :deep(.@{ant-prefix}-table-tbody) tr {
    height: 40px;
  }
  .vid_dksrix2476 :deep(.@{ant-prefix}-table-tbody) tr > td {
    font-size: 14px;
    font-family: arial, helvetica, "microsoft yahei";
    font-weight: 400;
    color: #262626;
    border-bottom:1px solid #D9D9D9;
    padding: 0 16px;
    word-break: break-all;
    .cell-wrapper {
      padding: 0 16px;
    }
  }

  .vid_dksrix2476 :deep(.@{ant-prefix}-table-tbody) tr > td .cell-wrapper {
    padding: 0 16px;
  }
  .vid_dksrix2476 :deep(.@{ant-prefix}-table-empty .@{ant-prefix}-table-tbody tr > td) {
    padding: 0;
  }
  .vid_dksrix2476 :deep(.@{ant-prefix}-table-tbody) tr > td .@{ant-prefix}-btn {
    padding: 0 30px 0 0;
  }
  .vid_dksrix2476 :deep(.@{ant-prefix}-table-tbody) tr > td .@{ant-prefix}-btn:last-child {
    padding: 0;
  }
  .vid_dksrix2476 :deep(.table-striped-odd) td {
    background-color: #FFFFFF;
  }
  .vid_dksrix2476 :deep(.table-striped-even) td {
    background-color: #F8FAFC;
  }
  .vid_dksrix2476 :deep(.@{ant-prefix}-table.@{ant-prefix}-table-bordered) .@{ant-prefix}-table-container .@{ant-prefix}-table-tbody tr > td {
    border-right:1px solid #D9D9D9;
  }
  .vid_dksrix2476 :deep(.@{ant-prefix}-table.@{ant-prefix}-table-bordered) .@{ant-prefix}-table-container .@{ant-prefix}-table-tbody tr > td:first-child {
    border-left:1px solid #D9D9D9;
  }
  .vid_dksrix2476{
      width:100%;
      background-color:#FFFFFF
  }
  .vid_dksrix2476:active{
      width:100%
  }
  .vid_dksrix2476:focus{
      width:100%
  }
  .vid_dksrix2476:hover{
      width:100%
  }

  :deep(.@{ant-prefix}-table-empty .@{ant-prefix}-table-tbody tr > td) {
   padding: 0;
  }
    /deep/.ant3-checkbox-group-item + .ant3-checkbox-group-item span{
      color:#595959 !important;
    }
    /deep/.ant3-checkbox-wrapper.ant3-checkbox-wrapper-disabled span{
      color:#595959 !important;
    }
</style>